#pragma once
#include "register.h"

class base_operand {
public:
    base_operand(){}


};

class register_operand : public base_operand {
public:
    register_operand(int id) {
        reg_id = id;
    }
    int get_reg_id() {
        return reg_id;
    }
private:
    int reg_id;
    //bool is_ready; //用于标记当前寄存器的值是否已输出可用，初始化为false，在硬件部件计算完毕后设置为true
};

class immediate_operand : public base_operand {
public:
    immediate_operand(uint64_t num) {
        value = num;
    }
    uint64_t get_imme_value() {
        return value;
    }
private:
    uint64_t value;
};

